home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 145
/
Tiger_Disk_145_19xx_Tiger-Crew-Disk_de_Side_B.d64
/
diskmaster 64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
6KB
|
201 lines
10 rem * disk master 64 *
100 rem menue
110 poke53280,4:poke53281,4:poke49152,8
120 clr:gn=peek(49152):di=0:poke198,0:print"[147][144] *** disk master 64 ***"
130 print" *** commodore single drive 1541 ***"
140 print" *** (c) 1984 by mario walther ***"
150 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]";
160 print"1[146] formatieren 7[146] floppy adresse"
170 print"2[146] initialize 8[146] disk-name aendern"
180 print"3[146] validate 9[146] disk-id aendern"
190 print"4[146] rename c[146] check disk"
200 print"5[146] scratch d[146] directory"
210 print"6[146] copy e[146] programm beenden"
300 getau$:ifau$=""then300
305 ifau$="e"then5000
306 ifau$="d"then400
307 ifau$="c"then2000
310 ifasc(au$)<49orasc(au$)>57then300
320 a=val(au$):onagoto700,900,1000,1100,1200,1300,1400,1800,1900
330 goto300
350 rem * fehlerkanal *
360 close15:open15,gn,15:input#15,en,en$,ne,ee:close15:ifenthen850
370 return
400 rem * directory *
405 print"[147]"
406 gosub410:goto415
410 print"bitte eine diskette ins laufwerk legen ![146]":gosub650:return
415 print"[147]bitte warten !":print"directory wird gelesen"
420 diml$(140),k$(140),f$(140)
430 open1,gn,0,"$":open15,gn,15:gosub440:goto450
440 input#15,en,en$,ne,ee:ifenthen850
445 return
450 get#1,a$,b$:ze=-1
455 ze=ze+1:get#1,a$,b$
456 get#1,a$,b$:c=0
460 ifa$<>""thenc=asc(a$)
470 ifb$<>""thenc=c+asc(b$)*256
480 l$(ze)=right$(" "+mid$(str$(c),2),3)
490 get#1,b$:ifst<>0thenfb$=right$(" "+l$,3):goto580
500 ifb$<>chr$(34)then490
510 f$(ze)=""
520 get#1,b$:ifb$<>chr$(34)thenf$(ze)=f$(ze)+b$:goto520
530 get#1,b$:ifb$=chr$(32)then530
540 c$=""
550 c$=c$+b$:get#1,b$:ifb$<>""then550
560 k$(ze)=left$(c$,3):ifze=0thenid$=left$(c$,5)
570 ifst=0then455
580 close1
590 print"[147]"f$(0);" "id$" [146]"
600 yy=3:fory=1toze-1:yy=yy+1
610 print"[144]"l$(y)""f$(y);tab(21)left$(k$(y),3)
620 ifyy/24=int(yy/24)thengosub650:print"[147]"
630 next:print""l$(ze)" bloecke frei [146]":gosub650
640 ifyy<25then120
641 print"directory wiederholen ?"
642 getau$:ifau$=""then642
643 ifau$="j"theny=0:goto590
644 ifau$="n"orau$=" "then120
645 goto641
650 poke198,0
651 getau$:ifau$=""then651
652 ifau$="_"then120
653 return
700 rem formatieren
710 print"[147]"spc(14)"formatieren[146]"
720 ifdi=0thengosub410:di=1:goto700
725 ifdi=2then740
730 input"disk-name[146] (max.16 z.) ";dn$:ifdn$=""then700
735 iflen(dn$)>16thendn$="":goto700
736 di=2:goto700
740 input"disk-id[146] (max.2 z.) ";di$:ifdi$=""orlen(di$)>2then700
751 print"ist die richtige diskette im laufwerk ? "
775 getau$:ifau$=""then775
776 ifau$="_"then120
777 ifau$="j"then780
778 ifau$="n"then775
780 print"[147]diskette wird formatiert"
790 print"name : ";dn$:print"id : ";di$
800 close1:open1,8,15,"n:"+dn$+","+di$:gosub350:close1
810 goto1070
850 rem
860 print""en;en$;ne;ee:gosub650:goto120
900 rem
905 gosub910:goto920
910 print"[147]"spc(12)"initialisieren[146]":return
920 gosub410
950 gosub910:print" diskette wird initialisiert"
960 close1:open1,gn,15,"i":gosub350:close1
970 goto1070
1000 rem
1010 print"[147]"spc(14)"validate[146]"
1020 gosub410
1050 print" diskette wird validiert "
1060 close1:open1,8,15,"v":close1:gosub350
1070 print"vorgang beendet":print"taste[146]":gosub650:goto120
1100 rem
1110 print"[147]"spc(17)"rename[146]"
1120 input"alter name";an$:ifan$=""then1110
1125 ifan$="_"then120
1130 input"neuer name";nn$:ifnn$=""thenprint"[145][145][145][145]":goto1130
1135 ifan$=nn$then120
1140 close1:open1,8,15,"r:"+nn$+"="+an$:close1:gosub350
1150 goto1070
1200 rem * scratch *
1210 print"[147]"spc(16)"scratch[146]"
1220 input"filename";na$:ifna$=""then1210
1225 ifna$="_"then120
1230 close1:open1,8,15,"s:"+na$:close1
1240 gosub350
1260 goto1070
1300 rem * copy *
1310 print"[147]"spc(18)"copy[146]"
1320 print"bitte das zu kopierende file eingeben !"
1330 input"";an$:ifan$=""then1310
1340 input"neuer name";nn$:ifnn$=""thenprint"[145][145][145]":goto1340
1350 close1:open1,8,15,"c:"+nn$+"="+an$:close1:gosub350
1360 goto1070
1400 rem * floppy nummer *
1410 print"[147]geraetenummer der floppy aendern[146]"
1420 print"bitte jetzt alle laufwerke ausschalten !";
1430 print"nur nicht die,deren nummer geaendert
1440 [153]"werden soll":[129]i[178]0[164]2000:[130]
1450 [133]"alte nummer 8 cmdcmdcmdcmdcmd";od
1460 [139]od[179]8[176]od[177]15[167][153]"ononononon":[137]1450
1470 [133]"neue nummer 9 cmdcmdcmdcmdcmd";nd
1480 [139]nd[179]8[176]nd[177]15[167][153]"onononon":[137]1470
1490 [141]1510:[141]1700
1500 [151]49152,nd:[137]1070
1510 [160]15:[159]15,gn,15
1520 [152]15,"m-r"[199](255)[199](255):[161]#15,c$:c[178][198](c$[170][199](0))
1530 [139]st[167][153]"fehler am geraet":[137]1070
1540 [139]c[178]254[167]mt[178]119
1550 [139]c[178]226[167]mt[178]50
1560 [139]c[178]213[167]mt[178]12
1570 [139]c[178]242[167]mt[178]12
1580 [139]c[178]198[167]1600
1590 [142]
1600 [152]15,"m-r"[199](234)[199](16):[161]#15,zb$:zb[178][198](zb$[170][199](0))
1610 [139]zb[178]0[167]mt[178]12
1620 [139]zb[178]1[167]1640
1630 [139]st[167]1530
1640 [152]15,"m-r"[199](172)[199](16):[161]#15,zc$:zc[178][198](zc$[170][199](0))
1650 [139]zc[178]1[167]mt[178]12
1660 [139]zc[178]2[167]mt[178]12
1670 [142]
1700 [160]15:[159]15,gn,15
1710 [152]15,"m-w"[199](mt)[199](0)[199](2)[199](nd[170]32)[199](nd[170]64)
1720 [142]
1800 [143] * disk name aendern *
1810 [153]"loaddisk name aendernwait"
1815 [141]410
1820 [159]15,gn,15:nr[178]0:[159]1,gn,3,"#":[152]15,"u1:3"nr",18,0"
1830 [152]15,"b-p:3,144":d$[178]"":[129]l[178]1[164]16:[161]#1,a$:d$[178]d$[170]a$:[130]
1840 [153]"alter disk-name: "d$
1850 od$[178]"disk master 64":[153]"neuer disk-name ";:[133]od$
1860 od$[178][200](od$[170]" ",16)
1870 [152]15,"b-p:3,144":[152]1,od$;:[152]15,"u2:3"nr",18,0":[160]1:[160]15
1880 [137]960
1900 [143] * disk id aendern *
1910 [153]"loaddisk id aendern"
1920 uu[178]0:[159]15,gn,15:[159]1,gn,3,"#":[152]15,"u1:3"dv",18,0"
1930 [152]15,"b-p:3,162":[161]#1,a$,b$,c$,d$,e$:[153]"alter disk-id: "a$;b$;c$;
1940 [153]d$;e$:[133]"neuer disk-id";oi$
1950 [139][195](oi$)[179]3[167]oi$[178]oi$[170]" ":[137]1950
1960 oi$[178][200](oi$[170]"2a",5)
1970 [152]15,"b-p:3,162":[152]1,oi$;:[152]15,"u2:3"uu",18,0
1980 goto960
2000 rem * check disk *
2010 print"[147]"spc(15)"check disk[146]"
2020 gosub410:dimt(100),s(100)
2030 open15,gn,15:print#15,"v0":n%=rnd(ti)*255
2040 a$="":fori=1to255:a$=a$+chr$(255and(i+n%)):next:gosub350
2050 open2,gn,2,"#":print:print#2,a$;:open15,gn,15
2051 t=1:s=0:print#15,"b-a:0"t;s
2060 input#15,en,em$,et,es:ifen=0then2090
2070 ifet=0then2140
2080 print#15,"b-a:0"et;es;:t=et:s=es
2090 print#15,"u2:2,0"t;s:nb=nb+1
2100 print"gepruefte bloecke"nb:print"spur [157][157][157][157]"t;"sector [157][157][157][157]"s"[145][145]"
2110 input#15,en,em$,es,et:ifen=0then2051
2120 t(j)=t:s(j)=s:j=j+1
2130 print"fehlerhafter block:[157][157]",t;s"":goto2051
2140 print#15,"i0":gosub350:close2:ifj=0thenprint"keine fehlerhaften bloecke"
2150 ifj=0then1070
2160 open2,gn,2,"#":print"fehlerhafte bloecke","track","sector"
2170 fori=0toj-1
2180 print#15,"b-a:0",t(i);s(i)
2190 print,,t(i),s(i):next
2200 print""j"fehlerhafte bloecke wurden gefunden":close2:goto1070
5000 rem * end *
5010 print"[147] sind sie sicher ? (j/n) ";
5020 poke204,0
5030 getau$:ifau$=""then5030
5040 ifau$="j"then5100
5050 ifau$="n"thenpoke204,1:goto120
5060 goto5030
5100 poke204,1:print"[147]"spc(11)"disk master 64"
5110 print""spc(15)" [146]"
5120 printspc(15)" ende [146]"
5130 printspc(15)" [146][156]":fori=0to1000:next:sys64738